package com.example.tse.rbhttpservice.service.member;

import com.example.tse.rbhttpservice.service.member.model.MemberInfoGetStatRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoGetStatResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoGetRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoGetResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoUpAvatarRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoUpAvatarResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoUpByRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoUpByResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoUpPwdRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberInfoUpPwdResponse;
import  com.example.tse.rbhttpservice.service.RemoteServiceListenerT;

/**
*
* @author wliu
*  edit   tse
*/
public interface MemberInfoService {
/**
* 进入个人中心页面需要显示我的关注、我的粉丝数量、
* @param request
* @param listener
* @return MemberInfoGetStatResponse
*/
void getStat(MemberInfoGetStatRequest request, RemoteServiceListenerT
        <MemberInfoGetStatResponse> listener);

/**
* 获取用户的个人信息
* @param request
* @param listener
* @return MemberInfoGetResponse
*/
void get(MemberInfoGetRequest request, RemoteServiceListenerT
        <MemberInfoGetResponse> listener);

/**
* 更新用户头像，保留直接选择文件上传功能
* @param request
* @param listener
* @return MemberInfoUpAvatarResponse
*/
void upAvatar(MemberInfoUpAvatarRequest request, RemoteServiceListenerT
        <MemberInfoUpAvatarResponse> listener);

/**
* 更新用户信息，根据类型修改不同字段
* @param request
* @param listener
* @return MemberInfoUpByResponse
*/
void upBy(MemberInfoUpByRequest request, RemoteServiceListenerT
        <MemberInfoUpByResponse> listener);

/**
* 修改密码
* @param request
* @param listener
* @return MemberInfoUpPwdResponse
*/
void upPwd(MemberInfoUpPwdRequest request, RemoteServiceListenerT
        <MemberInfoUpPwdResponse> listener);

    }
